<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://core.datamodel.fs.documentum.emc.com/" xmlns:dfs-dm-core-content="http://content.core.datamodel.fs.documentum.emc.com/" xmlns:dfs-dm-core-context="http://context.core.datamodel.fs.documentum.emc.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dfs-dm-core-profiles="http://profiles.core.datamodel.fs.documentum.emc.com/" xmlns:dfs-dm-core-properties="http://properties.core.datamodel.fs.documentum.emc.com/" elementFormDefault="qualified" targetNamespace="http://core.datamodel.fs.documentum.emc.com/" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://dtordam01:9080/services/core/QueryService?xsd=4" namespace="http://properties.core.datamodel.fs.documentum.emc.com/" />
  <xs:import schemaLocation="http://dtordam01:9080/services/core/QueryService?xsd=5" namespace="http://profiles.core.datamodel.fs.documentum.emc.com/" />
  <xs:import schemaLocation="http://dtordam01:9080/services/core/QueryService?xsd=8" namespace="http://content.core.datamodel.fs.documentum.emc.com/" />
  <xs:complexType name="OperationOptions">
    <xs:sequence>
      <xs:element minOccurs="0" name="Properties" type="dfs-dm-core-properties:PropertySet" />
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Profiles" type="dfs-dm-core-profiles:Profile" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ObjectId">
    <xs:sequence />
    <xs:attribute name="id" type="xs:string" use="required" />
  </xs:complexType>
  <xs:complexType name="RichText">
    <xs:sequence>
      <xs:element minOccurs="0" name="Body" type="dfs-dm-core-content:Content" />
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Contents" type="dfs-dm-core-content:Content" />
    </xs:sequence>
    <xs:attribute name="format" type="xs:string" />
  </xs:complexType>
  <xs:complexType name="DataPackage">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="DataObjects" type="tns:DataObject" />
    </xs:sequence>
    <xs:attribute name="repositoryName" type="xs:string" />
  </xs:complexType>
  <xs:complexType name="DataObject">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Aspects" type="tns:Aspect" />
      <xs:element minOccurs="0" name="Identity" type="tns:ObjectIdentity" />
      <xs:element minOccurs="0" name="Properties" type="dfs-dm-core-properties:PropertySet" />
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Relationships" type="tns:Relationship" />
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Contents" type="dfs-dm-core-content:Content" />
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Permissions" type="tns:Permission" />
    </xs:sequence>
    <xs:attribute name="type" type="xs:string" />
    <xs:attribute name="transientId" type="xs:string" />
  </xs:complexType>
  <xs:complexType name="Aspect">
    <xs:sequence />
    <xs:attribute name="name" type="xs:string" use="required" />
    <xs:attribute name="intentModifier" type="tns:AspectIntentModifier" />
  </xs:complexType>
  <xs:complexType name="ObjectIdentity">
    <xs:sequence>
      <xs:choice minOccurs="0">
        <xs:element name="ObjectId" type="tns:ObjectId" />
        <xs:element name="ObjectKey" type="tns:ObjectKey" />
        <xs:element name="ObjectPath" type="tns:ObjectPath" />
        <xs:element name="Qualification" type="tns:Qualification" />
        <xs:element name="CompositeObjectId" type="tns:CompositeObjectId" />
        <xs:element name="StringUri" type="xs:string" />
      </xs:choice>
    </xs:sequence>
    <xs:attribute name="valueType" type="tns:ObjectIdentityType" />
    <xs:attribute name="repositoryName" type="xs:string" />
  </xs:complexType>
  <xs:complexType name="ObjectKey">
    <xs:sequence>
      <xs:element minOccurs="0" name="PropertySet" type="dfs-dm-core-properties:PropertySet" />
    </xs:sequence>
    <xs:attribute name="objectType" type="xs:string" use="required" />
  </xs:complexType>
  <xs:complexType name="ObjectPath">
    <xs:sequence />
    <xs:attribute name="path" type="xs:string" />
  </xs:complexType>
  <xs:complexType name="Qualification">
    <xs:sequence>
      <xs:element minOccurs="0" name="String" type="xs:string" />
    </xs:sequence>
    <xs:attribute name="qualificationValueType" type="tns:QualificationValueType" />
    <xs:attribute name="objectType" type="xs:string" />
  </xs:complexType>
  <xs:complexType name="CompositeObjectId">
    <xs:sequence>
      <xs:element minOccurs="0" name="PropertySet" type="dfs-dm-core-properties:PropertySet" />
    </xs:sequence>
    <xs:attribute name="objectType" type="xs:string" use="required" />
  </xs:complexType>
  <xs:complexType name="Relationship" abstract="true">
    <xs:sequence>
      <xs:element minOccurs="0" name="RelationshipProperties" type="dfs-dm-core-properties:PropertySet" />
    </xs:sequence>
    <xs:attribute name="name" type="xs:string" use="required" />
    <xs:attribute name="targetRole" type="xs:string" use="required" />
    <xs:attribute name="intentModifier" type="tns:RelationshipIntentModifier" />
  </xs:complexType>
  <xs:complexType name="ReferenceRelationship">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:Relationship">
        <xs:sequence>
          <xs:element name="Target" type="tns:ObjectIdentity" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ObjectRelationship">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:Relationship">
        <xs:sequence>
          <xs:element name="Target" type="tns:DataObject" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Permission">
    <xs:sequence />
    <xs:attribute name="type" type="tns:PermissionType" use="required" />
    <xs:attribute name="name" type="xs:string" use="required" />
  </xs:complexType>
  <xs:simpleType name="CacheStrategyType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="DEFAULT_CACHE_STRATEGY" />
      <xs:enumeration value="BASIC_FILE_CACHE_STRATEGY" />
      <xs:enumeration value="BASIC_MEMORY_CACHE_STRATEGY" />
      <xs:enumeration value="NO_CACHE_STRATEGY" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PermissionType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="BASIC" />
      <xs:enumeration value="EXTENDED" />
      <xs:enumeration value="CUSTOM" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="VersionStrategy">
    <xs:restriction base="xs:string">
      <xs:enumeration value="IMPLIED" />
      <xs:enumeration value="NEXT_MAJOR" />
      <xs:enumeration value="NEXT_MINOR" />
      <xs:enumeration value="SAME_VERSION" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="AspectIntentModifier">
    <xs:restriction base="xs:string">
      <xs:enumeration value="ATTACH" />
      <xs:enumeration value="DETACH" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ObjectIdentityType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="UNDEFINED" />
      <xs:enumeration value="OBJECT_ID" />
      <xs:enumeration value="OBJECT_KEY" />
      <xs:enumeration value="OBJECT_PATH" />
      <xs:enumeration value="QUALIFICATION" />
      <xs:enumeration value="COMPOSITE_OBJECT_ID" />
      <xs:enumeration value="STRING_URI" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="QualificationValueType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="UNDEFINED" />
      <xs:enumeration value="STRING" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="RelationshipIntentModifier">
    <xs:restriction base="xs:string">
      <xs:enumeration value="ADD" />
      <xs:enumeration value="REMOVE" />
    </xs:restriction>
  </xs:simpleType>
</xs:schema>